# 列表 即数组
list1 = []
list2 = [10, 9.0, True, '谭梦寻']
print(list2)

# 类型转换
list3 = list()
print(list3)
list3 = list('1234567')  # 类型转换 str -> list
print(list3)  # ['1', '2', '3', '4', '5', '6'， '7']

# 列表的索引
print(list3[5])  # 6
# 列表的切片 包头不包尾
print(list3[2:6:2])  # 从索引3前面开始 每隔两个数取一个 直到索引为6后面结束
# 列表的加法和乘法
print(list2 + list3)  # [10, 9.0, True, '谭梦寻', '1', '2', '3', '4', '5', '6', '7']
print(list3 * 3)  # 翻三倍输出

# 列表成员的运算
print('1' not in list3)  # False
print('1' in [1, 23, 4])  # False
print([3, 2, 3, 4] > [2, 1])  # True 先比较第一个元素

# 内置函数 函数名()
print(len(list3))
print(max(list3))  # 求元素最大值
# del list3
# print(list3)

# 列表的遍历
for i in enumerate(list3):  # 枚举:连同索引一并打印出来
    print(i)
""""
(0, '1')
(1, '2')
(2, '3')
(3, '4')
(4, '5')
(5, '6')
(6, '7')
"""
for i in list3:
    print(i)
""""
1
2
3
4
5
6
7
"""
for i in range(len(list2)):  # 其他语言常用的循环方式
    print(i, list2[i])

# 添加元素
list3.append('666')
print(list3)
# 添加列表
list3.extend([1, 2, 3])
print(list3)
# 插入元素
list3.insert(2,'hello')
print(list3)
# 根据
# 根据索引删除元素
list3.pop(3)
print(list3)
# 根据元素删除元素
list3.remove('7')
print(list3, 4444)
# list3.remove('7')  # 不再存在元素为7的元素 代码会被终止
# print(list3, 5)
list3.append('hello')
print(list3)
list3.remove('hello')  # 只会删除第一个值为hello的元素
print(list3)
# 清空列表
list3.clear()
print(list3)  # []
# 计算若干个人的平均年龄
age = [10,20,30,40,23,45,78,43]
print(sum(age) / len(age))
